all files / src/validators/ player.validator.ts

66.67% Statements 4/6
0% Branches 0/3
0% Functions 0/2
66.67% Lines 4/6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17                          
import { Game, PlayersBid, Player, Phase } from '../game.interfaces';
import { Bid, RegisterPlayer } from '../game.actions';
import { getNextTurn, playerExists, getMaxPlayersCount, maxPlayersCountReached, getPlayerById } from '../helpers/players.helpers';
import { hasMarriage } from '../helpers/cards.helpers';
import * as _ from 'lodash';
import { isMaxBid, hasTwoPasses } from '../helpers/bid.helpers';
 
export function canRegisterPlayer(state: Game, action: RegisterPlayer): boolean {
    return !isRegisteringPlayersPhaseFinished(state) && 
            state.phase === Phase.REGISTERING_PLAYERS_IN_PROGRESS && 
           !playerExists(state.players, action.id);
}
 
export function isRegisteringPlayersPhaseFinished(state: Game): boolean {
    return maxPlayersCountReached(state.players);
}